什么???这题居然是打表?
听到正解的我十分激动,深深体会到了出题人的用心良苦(sang xin bing kuang)
题面: http://www.51nod.com/Challenge/Problem.html#!#problemId=1016
水仙花数 V2
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153,1634 = 1^4 + 6^4 + 3^4 + 4^4)。
给出一个整数M,求 >= M的最小的水仙花数。
输入
1 | 一个整数M(10 <= M <= 10^60) |
输出
1 | 输出>= M的最小的水仙花数,如果没有符合条件的水仙花数,则输出:No Solution |
输入样例
1 | 300 |
输出样例
1 | 370 |
你以为这么简单?然鹅,模拟赛里出现了101000000的两个点。
(wnm,这拿头做啊)——————
我们惊奇得发现,,,居然全是没有结果,输出No Solution
你又以为这么简单
too young ,too simple,sometime 咳咳
我们可爱的出题人把No Solution写成了NOSOLUTlON,好像没什么问题?
这,,,个,,,大写 I 其实是 一个小写的 l 。。。。如果不是直接复制,那就**
诶嘿,接下来看一看证明,当然又是我们可爱的出题人小朋友咯(咬牙切齿
证明:n>60时,∑n−1i=0ani<∑n−1i=010iai(0≤ai≤9)
引理:n>60时,n9n<10n−1
当n=61时,通过计算得出10n(910)n<1
假设当n=m时满足此引理成立
那么(910)m=10m(910)m10m<110m<1600
10(m+1)(910)m+1=10m(910)m+1+10(910)m+1<910+9600<1
引理得证
那么左边≤n9n,而右边≥10n−1
因为n9n<10n−1,所以左边<右边
证毕
然后打表,开心水过~(开心个鬼
v1.5.2